Skip to content

Conversation

jieyouxu
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Urgau and others added 25 commits April 25, 2024 07:58
error: redundant explicit link target because label contains path that resolves to same destination
This adds the `only-apple`/`ignore-apple` compiletest directive, and
uses that basically everywhere instead of `only-macos`/`ignore-macos`.

Some of the updates in `run-make` are a bit redundant, as they use
`ignore-cross-compile` and won't run on iOS - but using Apple in these
is still more correct, so I've made that change anyhow.
When encountering `use foo::*;` where `foo` fails to be found, and we later
encounter resolution errors, we silence those later errors.

A single case of the above, for an *existing* import on a big codebase would
otherwise have a huge number of knock-down spurious errors.

Ideally, instead of a global flag to silence all subsequent resolve errors,
we'd want to introduce an unameable binding in the appropriate rib as a
sentinel when there's a failed glob import, so when we encounter a resolve
error we can search for that sentinel and if found, and only then, silence
that error. The current approach is just a quick proof of concept to
iterate over.

Partially address rust-lang#96799.
Add an intrinsic for `ptr::metadata`

The follow-up to rust-lang#123840, so we can remove `PtrComponents` and `PtrRepr` from libcore entirely (well, after a bootstrap update).

As discussed in <https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/.60ptr_metadata.60.20in.20MIR/near/435637808>, this introduces `UnOp::PtrMetadata` taking a raw pointer and returning the associated metadata value.

By no longer going through a `union`, this should also help future PRs better optimize pointer operations.

r? `@oli-obk`
Add `--print=check-cfg` to get the expected configs

This PR adds a new `--print` variant `check-cfg` to get the expected configs.

Details and rational can be found on the MCP: rust-lang/compiler-team#743

`@rustbot` label +F-check-cfg +S-waiting-on-MCP
r? `@petrochenkov`
…workingjubilee

Make more of the test suite run on Mac Catalyst

Combined with rust-lang#125225, the only failing parts of the test suite are in `tests/rustdoc-js`, `tests/rustdoc-js-std` and `tests/debuginfo`. Tested with:
```console
./x test --target=aarch64-apple-ios-macabi library/std
./x test --target=aarch64-apple-ios-macabi --skip=tests/rustdoc-js --skip=tests/rustdoc-js-std --skip=tests/debuginfo tests
```

Will probably put up a PR later to enable _running_ on (not just compiling for) Mac Catalyst in CI, though not sure where exactly I should do so? `src/ci/github-actions/jobs.yml`?

Note that I've deliberately _not_ enabled stack overflow handlers on iOS/tvOS/watchOS/visionOS (see rust-lang#25872), but rather just skipped those tests, as it uses quite a few APIs that I'd be weary about getting rejected by the App Store (note that Swift doesn't do it on those platforms either).

r? `@workingjubilee`

CC `@thomcc`

`@rustbot` label O-ios O-apple
Silence some resolve errors when there have been glob import errors

When encountering `use foo::*;` where `foo` fails to be found, and we later encounter resolution errors, we silence those later errors.

A single case of the above, for an *existing* import on a big codebase would otherwise have a huge number of knock-down spurious errors.

Ideally, instead of a global flag to silence all subsequent resolve errors, we'd want to introduce an unnameable binding in the appropriate rib as a sentinel when there's a failed glob import, so when we encounter a resolve error we can search for that sentinel and if found, and only then, silence that error. The current approach is just a quick proof of concept to iterate over.

Partially address rust-lang#96799.
miri: avoid making a full copy of all new allocations

Hopefully fixes rust-lang/miri#3637

r? `@saethlin`
…jieyouxu

Rewrite `lto-smoke`, `simple-rlib` and `mixing-deps` `run-make` tests in `rmake.rs` format

Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
…r=onur-ozkan

Support `./x doc run-make-support --open`

Having easy access to the run-make-support documentation is invaluable when creating run-make tests using the new Rust recipes.
Tweak relations to no longer rely on `TypeTrace`

Remove `At::trace`, and inline all of the `Trace::equate`,etc methods into `At`.

The only nontrivial change is that we use `AliasTerm` to relate two unevaluated consts in the old-solver impl of `ConstEquate`, since `AliasTerm` does implement `ToTrace` and will relate the args structurally (shallowly).

r? lcnr
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 28, 2024
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels May 28, 2024
@jieyouxu
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Collaborator

bors commented May 28, 2024

📌 Commit 093791c has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 28, 2024
@bors
Copy link
Collaborator

bors commented May 29, 2024

⌛ Testing commit 093791c with merge 04bf9f0...

bors added a commit to rust-lang-ci/rust that referenced this pull request May 29, 2024
Rollup of 8 pull requests

Successful merges:

 - rust-lang#124251 (Add an intrinsic for `ptr::metadata`)
 - rust-lang#124320 (Add `--print=check-cfg` to get the expected configs)
 - rust-lang#125226 (Make more of the test suite run on Mac Catalyst)
 - rust-lang#125381 (Silence some resolve errors when there have been glob import errors)
 - rust-lang#125633 (miri: avoid making a full copy of all new allocations)
 - rust-lang#125638 (Rewrite `lto-smoke`, `simple-rlib` and `mixing-deps` `run-make` tests in `rmake.rs` format)
 - rust-lang#125639 (Support `./x doc run-make-support --open`)
 - rust-lang#125664 (Tweak relations to no longer rely on `TypeTrace`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@bors
Copy link
Collaborator

bors commented May 29, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 29, 2024
@jieyouxu
Copy link
Member Author

2024-05-29T02:03:38.9092279Z �[1m�[32m   Compiling�[0m rustc_codegen_cranelift v0.1.0 (/checkout/compiler/rustc_codegen_cranelift)
2024-05-29T02:03:38.9962149Z �[0m�[1m�[38;5;9merror[E0460]�[0m�[0m�[1m: found possibly newer version of crate `rustc_driver_impl` which `rustc_driver` depends on�[0m
2024-05-29T02:03:38.9963200Z �[0m  �[0m�[0m�[1m�[38;5;12m--> �[0m�[0msrc/lib.rs:31:1�[0m
2024-05-29T02:03:38.9963734Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2024-05-29T02:03:38.9964396Z �[0m�[1m�[38;5;12m31�[0m�[0m �[0m�[0m�[1m�[38;5;12m|�[0m�[0m �[0m�[0mextern crate rustc_driver;�[0m
2024-05-29T02:03:38.9965217Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m�[0m �[0m�[0m�[1m�[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^�[0m
2024-05-29T02:03:38.9965806Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2024-05-29T02:03:38.9966480Z �[0m   �[0m�[0m�[1m�[38;5;12m= �[0m�[0m�[1mnote�[0m�[0m: perhaps that crate needs to be recompiled?�[0m
2024-05-29T02:03:38.9967378Z �[0m   �[0m�[0m�[1m�[38;5;12m= �[0m�[0m�[1mnote�[0m�[0m: the following crate versions were found:�[0m
2024-05-29T02:03:38.9968807Z �[0m           crate `rustc_driver_impl`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver_impl-a9e5f4c095072377.rmeta�[0m
2024-05-29T02:03:38.9970799Z �[0m           crate `rustc_driver`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver-7279a48950ed3e07.so�[0m
2024-05-29T02:03:38.9971810Z 
2024-05-29T02:03:41.8898988Z �[0m�[1mFor more information about this error, try `rustc --explain E0460`.�[0m
2024-05-29T02:03:41.9038278Z [RUSTC-TIMING] rustc_codegen_cranelift test:false 2.994
2024-05-29T02:03:41.9039603Z �[1m�[31merror�[0m�[1m:�[0m could not compile `rustc_codegen_cranelift` (lib) due to 1 previous error

@jieyouxu
Copy link
Member Author

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 29, 2024
@jieyouxu jieyouxu closed this May 29, 2024
@jieyouxu jieyouxu deleted the rollup-e2waal9 branch May 29, 2024 02:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.